#include "IntcInitHelper.h"
#include "BaseDef.h"
//#include "EthInitHelper.h"
#include "EepromModule.h"
#include "ExpansionPortModule.h"
#include "GpioInitHelper.h"
#include "I2cCommunicationModule.h"
#include "OtsInitHelper.h"
#include "ResetModule.h"
#include "RtcInitHelper.h"
#include "SdioInitHelper.h"
#include "TimerInitHelper.h"
#include "TrngInitHelper.h"
#include "UsartInitHelper.h"
#include "main.h"
#include "ResetModule.h"


//Int Config
void App_IntCfg(void) {

  stc_irq_signin_config_t stcIrq;

  // 开启DMA错误中断
  (void) INTC_ShareIrqCmd(INT_SRC_DMA1_ERR, ENABLE);

  (void) INTC_ShareIrqCmd(INT_SRC_DMA2_ERR, ENABLE);


  /**
	* 设置串口2中断
	*/
  //  {
  //    { /* 串口中断 */
  //      /* 串口2接收 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART2_RI;
  //      stcIrq.enIRQn = INT090_IRQn;
  //      //      stcIrq.pfnCallback = &INT_SRC_USART2_RI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口2接收 IRQ sign-in */
  //      /* 串口2接收 NVIC config */
  //      NVIC_ClearPendingIRQ(INT090_IRQn);
  //      NVIC_SetPriority(INT090_IRQn, DDL_IRQ_PRIO_09);
  //      NVIC_EnableIRQ(INT090_IRQn);
  //      /* 串口2接收 NVIC config */

  //      /* 串口2发送 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART2_TCI;
  //      stcIrq.enIRQn = INT087_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_USART2_TCI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口2发送 IRQ sign-in */
  //      /* 串口2发送 NVIC config */
  //      NVIC_ClearPendingIRQ(INT087_IRQn);
  //      NVIC_SetPriority(INT087_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT087_IRQn);
  //      /* 串口2发送 NVIC config */

  //      /* 串口2超时 IRQ sign-in */
  //      //      stcIrq.enIntSrc = INT_SRC_USART2_RTO;
  //      //			stcIrq.enIRQn = INT086_IRQn;
  //      //			stcIrq.pfnCallback = &INT_SRC_USART2_RTO_IrqCallback;
  //      //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口2超时 IRQ sign-in */
  //      /* 串口2超时 NVIC config */
  //      NVIC_ClearPendingIRQ(INT086_IRQn);
  //      NVIC_SetPriority(INT086_IRQn, DDL_IRQ_PRIO_10);
  //      NVIC_EnableIRQ(INT086_IRQn);
  //      /* 串口2超时 NVIC config */

  //      /* 串口2错误中断 NVIC config */
  //      (void) INTC_ShareIrqCmd(INT_SRC_USART2_EI, ENABLE);
  //      /* 串口2错误中断 NVIC config */
  //    } /* 串口中断 */

  //    { /* 串口DMA中断 */
  //      /* 串口2接收DMA IRQ sign-in */
  //      //      stcIrq.enIntSrc = INT_SRC_DMA1_TC3;
  //      //			stcIrq.enIRQn = INT039_IRQn;
  //      //			stcIrq.pfnCallback = &INT_SRC_DMA1_TC3_IrqCallback;
  //      //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口2接收DMA IRQ sign-in */
  //      /* 串口2接收DMA NVIC config */
  //      NVIC_ClearPendingIRQ(INT039_IRQn);
  //      NVIC_SetPriority(INT039_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT039_IRQn);
  //      /* 串口2接收DMA NVIC config */

  //      /* 串口2发送DMA IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_DMA2_TC6;
  //      stcIrq.enIRQn = INT048_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_DMA2_TC6_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口2发送DMA IRQ sign-in */
  //      /* 串口2发送DMA NVIC config */
  //      NVIC_ClearPendingIRQ(INT048_IRQn);
  //      NVIC_SetPriority(INT048_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT048_IRQn);
  //      /* 串口2发送DMA NVIC config */
  //    } /* 串口DMA中断 */
  //  }
  /* 设置串口2中断 */

  /**
	* 设置串口3中断
	*/
  {
    { /* 串口中断 */
      /* 串口3接收中断 IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_USART3_RI;
      stcIrq.enIRQn = INT093_IRQn;
      //      stcIrq.pfnCallback = &INT_SRC_USART3_RI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 串口3接收中断 IRQ sign-in */
      /* 串口3接收中断 NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_09);
      NVIC_EnableIRQ(stcIrq.enIRQn);
      /* 串口3接收中断 NVIC config */

      /* 串口3发送中断 IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_USART3_TCI;
      stcIrq.enIRQn = INT092_IRQn;
      stcIrq.pfnCallback = &INT_SRC_USART3_TCI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 串口3发送中断 IRQ sign-in */
      /* 串口3发送中断 NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_09);
      NVIC_EnableIRQ(stcIrq.enIRQn);
      /* 串口3发送中断 NVIC config */

      /* 串口3错误中断 NVIC config */
      (void) INTC_ShareIrqCmd(INT_SRC_USART3_EI, ENABLE);
      /* 串口3错误中断 NVIC config */
    } /* 串口中断 */

    { /* 串口DMA中断 */
      /* 串口3发送DMA IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_DMA1_TC0;
      stcIrq.enIRQn = INT002_IRQn;
      stcIrq.pfnCallback = &INT_SRC_DMA1_TC0_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 串口3发送DMA IRQ sign-in */
      /* 串口3发送DMA NVIC config */
      NVIC_ClearPendingIRQ(INT002_IRQn);
      NVIC_SetPriority(INT002_IRQn, DDL_IRQ_PRIO_08);
      NVIC_EnableIRQ(INT002_IRQn);
      /* 串口3发送DMA NVIC config */
    } /* 串口DMA中断 */
  }
  /* 设置串口3中断 */

  /**
	* 设置串口6中断
	*/
  //  {
  //    { /* 串口中断 */
  //      /* 串口6接收中断 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART6_RI;
  //			stcIrq.enIRQn = INT101_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_USART6_RI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口6接收中断 IRQ sign-in */
  //      /* 串口6接收中断 NVIC config */
  //      NVIC_ClearPendingIRQ(INT101_IRQn);
  //			NVIC_SetPriority(INT101_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT101_IRQn);
  //      /* 串口6接收中断 NVIC config */

  //      /* 串口6发送中断 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART6_TCI;
  //			stcIrq.enIRQn = INT098_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_USART6_TCI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口6发送中断 IRQ sign-in */
  //      /* 串口6发送中断 NVIC config */
  //      NVIC_ClearPendingIRQ(INT098_IRQn);
  //			NVIC_SetPriority(INT098_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT098_IRQn);
  //      /* 串口6发送中断 NVIC config */

  //      /* 串口6接收超时中断 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART6_RTO;
  //			stcIrq.enIRQn = INT099_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_USART6_RTO_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口6接收超时中断 IRQ sign-in */
  //      /* 串口6接收超时中断 NVIC config */
  //      NVIC_ClearPendingIRQ(INT099_IRQn);
  //			NVIC_SetPriority(INT099_IRQn, DDL_IRQ_PRIO_10);
  //			NVIC_EnableIRQ(INT099_IRQn);
  //      /* 串口6接收超时中断 NVIC config */

  //      /* 串口6错误中断 NVIC config */
  //      (void) INTC_ShareIrqCmd(INT_SRC_USART6_EI, ENABLE);
  //      /* 串口6错误中断 NVIC config */
  //    } /* 串口中断 */

  //    { /* 串口DMA中断 */
  //      /* 串口6接收 DMA IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_DMA1_TC2;
  //			stcIrq.enIRQn = INT038_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_DMA1_TC2_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口6接收 DMA IRQ sign-in */
  //      /* 串口6接收 DMA NVIC config */
  //      NVIC_ClearPendingIRQ(INT038_IRQn);
  //			NVIC_SetPriority(INT038_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT038_IRQn);
  //      /* 串口6接收 DMA NVIC config */

  //      /* 串口6发送 DMA IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_DMA2_TC7;
  //			stcIrq.enIRQn = INT049_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_DMA2_TC7_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口6发送 DMA IRQ sign-in */
  //      /* 串口6发送 DMA NVIC config */
  //      NVIC_ClearPendingIRQ(INT049_IRQn);
  //			NVIC_SetPriority(INT049_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT049_IRQn);
  //      /* 串口6发送 DMA NVIC config */
  //    } /* 串口DMA中断 */
  //  }
  /* 设置串口6中断 */

  /**
* 设置串口9中断
*/
  //  {
  //    { /* 串口中断 */
  //      /* 串口9接收中断 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART9_RI;
  //      stcIrq.enIRQn = INT112_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_USART9_RI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口9接收中断 IRQ sign-in */
  //      /* 串口9接收中断 NVIC config */
  //      NVIC_ClearPendingIRQ(INT112_IRQn);
  //      NVIC_SetPriority(INT112_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT112_IRQn);
  //      /* 串口9接收中断 NVIC config */

  //      /* 串口9发送中断 IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_USART9_TCI;
  //      stcIrq.enIRQn = INT110_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_USART9_TCI_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口9发送中断 IRQ sign-in */
  //      /* 串口9发送中断 NVIC config */
  //      NVIC_ClearPendingIRQ(INT110_IRQn);
  //      NVIC_SetPriority(INT110_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT110_IRQn);
  //      /* 串口9发送中断 NVIC config */

  //      /* 串口9错误中断 NVIC config */
  //      (void) INTC_ShareIrqCmd(INT_SRC_USART9_EI, ENABLE);
  //      /* 串口9错误中断 NVIC config */
  //    } /* 串口中断 */

  //    { /* 串口DMA中断 */
  //      /* 串口9接收 DMA IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_DMA1_TC1;
  //      stcIrq.enIRQn = INT003_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_DMA1_TC1_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口9接收 DMA IRQ sign-in */
  //      /* 串口9接收 DMA NVIC config */
  //      NVIC_ClearPendingIRQ(INT003_IRQn);
  //      NVIC_SetPriority(INT003_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT003_IRQn);
  //      /* 串口9接收 DMA NVIC config */

  //      /* 串口9发送 DMA IRQ sign-in */
  //      stcIrq.enIntSrc = INT_SRC_DMA2_TC1;
  //      stcIrq.enIRQn = INT005_IRQn;
  //      stcIrq.pfnCallback = &INT_SRC_DMA2_TC1_IrqCallback;
  //      (void) INTC_IrqSignIn(&stcIrq);
  //      /* 串口9发送 DMA IRQ sign-in */
  //      /* 串口9发送 DMA  NVIC config */
  //      NVIC_ClearPendingIRQ(INT005_IRQn);
  //      NVIC_SetPriority(INT005_IRQn, DDL_IRQ_PRIO_11);
  //      NVIC_EnableIRQ(INT005_IRQn);
  //      /* 串口9发送 DMA  NVIC config */
  //    } /* 串口DMA中断 */
  //  }
  /* 设置串口9中断 */

  /**
* 设置CAN2中断
*/
  //	{
  //    /* CAN2中断 IRQ sign-in */
  //    stcIrq.enIntSrc = INT_SRC_CAN2_HOST;
  //    stcIrq.enIRQn = INT093_IRQn;
  //    stcIrq.pfnCallback = &INT_SRC_CAN2_HOST_IrqCallback;
  //    (void)INTC_IrqSignIn(&stcIrq);
  //		/* CAN2中断 IRQ sign-in */
  //    /* CAN2中断 NVIC config */
  //    NVIC_ClearPendingIRQ(INT093_IRQn);
  //    NVIC_SetPriority(INT093_IRQn, DDL_IRQ_PRIO_11);
  //    NVIC_EnableIRQ(INT093_IRQn);
  //		/* CAN2中断 NVIC config */
  //	}
  /* 设置CAN2中断 */

  /** 端口扩展芯片中断
	*
	*/
  {
    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C1_RXI;
    stcIrq.enIRQn = INT114_IRQn;
    stcIrq.pfnCallback = &INT_SRC_Expansion_Port_I2C_RXI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_07);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C1_TXI;
    stcIrq.enIRQn = INT115_IRQn;
    stcIrq.pfnCallback = &INT_SRC_Expansion_Port_I2C_TXI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_07);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C1_TEI;
    stcIrq.enIRQn = INT113_IRQn;
    stcIrq.pfnCallback = &INT_SRC_Expansion_Port_I2C_TEI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_07);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C1_EEI;
    stcIrq.enIRQn = INT005_IRQn;
    stcIrq.pfnCallback = &INT_SRC_Expansion_Port_I2C_EEI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_07);
    NVIC_EnableIRQ(stcIrq.enIRQn);
  }
  /* 端口扩展芯片中断 */

  /**
* 设置RTC中断
*/
  {
    { /* 内部RTC中断 */
      /* 内部RTC周期中断 IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_RTC_PRD;
      stcIrq.enIRQn = INT051_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_PRD_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 内部RTC周期中断 IRQ sign-in */
      /* 内部RTC周期中断 NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);
      /* 内部RTC周期中断 NVIC config */

      /* 内部RTC闹钟中断 IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_RTC_ALM;
      stcIrq.enIRQn = INT050_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_ALM_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 内部RTC闹钟中断 IRQ sign-in */
      /* 内部RTC闹钟中断 NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);
      /* 内部RTC闹钟中断 NVIC config */
    } /* 内部RTC中断 */

    { /* 外部RTC中断 */
      /* 外部RTC中断模式 */
      /* EXTINT_CH08 config */
      stc_extint_init_t stcExtIntInit;
      (void) EXTINT_StructInit(&stcExtIntInit);
      stcExtIntInit.u32Filter = EXTINT_FILTER_ON;
      stcExtIntInit.u32FilterClock = EXTINT_FCLK_DIV1;
      stcExtIntInit.u32Edge = EXTINT_TRIG_BOTH;
      stcExtIntInit.u32FilterB = NMI_EXTINT_FILTER_B_ON;
      stcExtIntInit.u32FilterBClock = NMI_EXTINT_FCLK_B_500NS;
      (void) EXTINT_Init(EXTINT_CH08, &stcExtIntInit);
      /* 外部RTC中断模式 */
      /* 外部RTC输入中断1 IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_PORT_EIRQ8;
      stcIrq.enIRQn = INT034_IRQn;
      stcIrq.pfnCallback = &INT_SRC_PORT_EIRQ8_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* 外部RTC输入中断1 IRQ sign-in */
      /* 外部RTC输入中断1 NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);
      /* 外部RTC输入中断1 NVIC config */

      /* IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_I2C2_RXI;
      stcIrq.enIRQn = INT111_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_I2C_RXI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);

      /* IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_I2C2_TXI;
      stcIrq.enIRQn = INT112_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_I2C_TXI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);

      /* IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_I2C2_TEI;
      stcIrq.enIRQn = INT110_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_I2C_TEI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);

      /* IRQ sign-in */
      stcIrq.enIntSrc = INT_SRC_I2C2_EEI;
      stcIrq.enIRQn = INT004_IRQn;
      stcIrq.pfnCallback = &INT_SRC_RTC_I2C_EEI_IrqCallback;
      (void) INTC_IrqSignIn(&stcIrq);
      /* NVIC config */
      NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
      NVIC_EnableIRQ(stcIrq.enIRQn);
    } /* 外部RTC中断 */
  }
  /* 设置RTC中断 */

  /**
* 设置EEPROM传输I2C4中断
*/
  {
    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C4_RXI;
    stcIrq.enIRQn = INT117_IRQn;
    stcIrq.pfnCallback = &INT_SRC_EEPROM_I2C_RXI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_10);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C4_TXI;
    stcIrq.enIRQn = INT118_IRQn;
    stcIrq.pfnCallback = &INT_SRC_EEPROM_I2C_TXI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_10);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C4_TEI;
    stcIrq.enIRQn = INT116_IRQn;
    stcIrq.pfnCallback = &INT_SRC_EEPROM_I2C_TEI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_10);
    NVIC_EnableIRQ(stcIrq.enIRQn);

    /* IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_I2C4_EEI;
    stcIrq.enIRQn = INT006_IRQn;
    stcIrq.pfnCallback = &INT_SRC_EEPROM_I2C_EEI_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_10);
    NVIC_EnableIRQ(stcIrq.enIRQn);
  }

  /* 设置EEPROM传输I2C4中断 */

  /**
* 设置FLASH_EEPROM传输SPI1中断
*/
  //	{ /* FLASH_EEPROM传输中断 */
  //		{ /* SPI中断 */
  //			/* SPI1接收中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_SPI1_SPRI;
  //			stcIrq.enIRQn = INT089_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_SPI1_SPRI_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* SPI1接收中断 IRQ sign-in */
  //			/* SPI1接收中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT089_IRQn);
  //			NVIC_SetPriority(INT089_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT089_IRQn);
  //			/* SPI1接收中断 NVIC config */

  //			/* SPI1发送中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_SPI1_SPTI;
  //			stcIrq.enIRQn = INT088_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_SPI1_SPTI_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* SPI1发送中断 IRQ sign-in */
  //			/* SPI1发送中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT088_IRQn);
  //			NVIC_SetPriority(INT088_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT088_IRQn);
  //			/* SPI1发送中断 NVIC config */

  //			/* SPI1空闲中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_SPI1_SPII;
  //			stcIrq.enIRQn = INT091_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_SPI1_SPII_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* SPI1空闲中断 IRQ sign-in */
  //			/* SPI1空闲中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT091_IRQn);
  //			NVIC_SetPriority(INT091_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT091_IRQn);
  //			/* SPI1空闲中断 NVIC config */

  //			/* SPI1错误中断 NVIC config */
  //			(void)INTC_ShareIrqCmd(INT_SRC_SPI1_SPEI, ENABLE);
  //			/* SPI1错误中断 NVIC config */
  //		} /* SPI中断 */

  //		{ /* SPI DMA中断 */
  //			/* SPI1 DMA接收中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_DMA2_TC0;
  //			stcIrq.enIRQn = INT004_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_DMA2_TC0_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* SPI1 DMA接收中断 IRQ sign-in */
  //			/* SPI1 DMA接收中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT004_IRQn);
  //			NVIC_SetPriority(INT004_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT004_IRQn);
  //			/* SPI1 DMA接收中断 NVIC config */

  //			/* SPI1 DMA发送中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_DMA1_TC4;
  //			stcIrq.enIRQn = INT040_IRQn;
  //			tcIrq.pfnCallback = &INT_SRC_DMA1_TC4_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* SPI1 DMA发送中断 IRQ sign-in */
  //			/* SPI1 DMA发送中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT040_IRQn);
  //			NVIC_SetPriority(INT040_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT040_IRQn);
  //			/* SPI1 DMA发送中断 NVIC config */
  //		} /* SPI DMA中断 */

  //	} /* FLASH_EEPROM传输中断 */
  /* 设置FLASH_EEPROM传输SPI1中断 */

  /**
	* 设置看门狗中断
	*/
  //	{
  //		{ /* 内部看门狗中断 */
  //			;
  //		} /* 内部看门狗中断 */
  //
  //		{ /* 外部看门狗中断 */
  //			;
  //		} /* 外部看门狗中断 */
  //	}
  /* 设置看门狗中断 */


  /**
* 设置SDIO中断
*/
  {
    { /* SDIO1中断 */
      //			/* SDIO1 DMA读中断 IRQ sign-in */
      //			stcIrq.enIntSrc = INT_SRC_DMA1_TC5;
      //			stcIrq.enIRQn = INT041_IRQn;
      //			stcIrq.pfnCallback = &INT_SRC_DMA1_TC5_IrqCallback;
      //			(void)INTC_IrqSignIn(&stcIrq);
      //			/* SDIO1 DMA读中断 IRQ sign-in */
      //			/* SDIO1 DMA读中断 NVIC config */
      //			NVIC_ClearPendingIRQ(INT041_IRQn);
      //			NVIC_SetPriority(INT041_IRQn, DDL_IRQ_PRIO_11);
      //			NVIC_EnableIRQ(INT041_IRQn);
      //			/* SDIO1读中断 NVIC config */

      //			/* SDIO1 DMA写中断 IRQ sign-in */
      //			stcIrq.enIntSrc = INT_SRC_DMA1_TC6;
      //			stcIrq.enIRQn = INT042_IRQn;
      //			stcIrq.pfnCallback = &INT_SRC_DMA1_TC6_IrqCallback;
      //			(void)INTC_IrqSignIn(&stcIrq);
      //			/* SDIO1 DMA写中断 IRQ sign-in */
      //			/* SDIO1 DMA写中断 NVIC config */
      //			NVIC_ClearPendingIRQ(INT042_IRQn);
      //			NVIC_SetPriority(INT042_IRQn, DDL_IRQ_PRIO_11);
      //			NVIC_EnableIRQ(INT042_IRQn);
      //			/* SDIO1 DMA写中断 NVIC config */

      /* SDIO1 SD中断  */
      //			stcIrq.enIntSrc    = INT_SRC_SDIOC1_SD;
      //			stcIrq.enIRQn      = INT029_IRQn;
      //			stcIrq.pfnCallback = &SdCard_TransCompleteIrqCallback;
      //			(void)INTC_IrqSignIn(&stcIrq);
      //			NVIC_ClearPendingIRQ(stcIrq.enIRQn);
      //			NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_11);
      //			NVIC_EnableIRQ(stcIrq.enIRQn);
    } /* SDIO1中断 */
  }
  /* 设置SDIO中断 */

  /**
* 设置USB中断
*/
  //	{
  //		{ /* USB FS中断 */
  //			/* USB FS传输中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_DMA2_TC4;
  //			stcIrq.enIRQn = INT046_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_DMA2_TC4_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* USB FS传输中断 IRQ sign-in */
  //			/* USB FS传输中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT046_IRQn);
  //			NVIC_SetPriority(INT046_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT046_IRQn);
  //			/* USB FS传输中断 NVIC config */
  //		} /* USB FS中断 */

  //		{ /* USB HS中断 */
  //			/* USB HS传输中断 IRQ sign-in */
  //			stcIrq.enIntSrc = INT_SRC_DMA2_TC5;
  //			stcIrq.enIRQn = INT047_IRQn;
  //			stcIrq.pfnCallback = &INT_SRC_DMA2_TC5_IrqCallback;
  //			(void)INTC_IrqSignIn(&stcIrq);
  //			/* USB HS传输中断 IRQ sign-in */
  //			/* USB HS传输中断 NVIC config */
  //			NVIC_ClearPendingIRQ(INT047_IRQn);
  //			NVIC_SetPriority(INT047_IRQn, DDL_IRQ_PRIO_11);
  //			NVIC_EnableIRQ(INT047_IRQn);
  //			/* USB HS传输中断 NVIC config */
  //		} /* USB HS中断 */
  //	}
  /* 设置USB中断 */

  /**
  * 设置以太网中断
  */
  //  {
  //    stc_extint_init_t stcExtIntInit;
  //    stc_irq_signin_config_t stcIrqSignConfig;
  //    stc_gpio_init_t stcGpioInit;

  //    /* Configure Extint */
  //    (void) EXTINT_StructInit(&stcExtIntInit);
  //    stcExtIntInit.u32Filter = EXTINT_FILTER_ON;
  //    stcExtIntInit.u32FilterClock = EXTINT_FCLK_DIV1;
  //    stcExtIntInit.u32Edge = EXTINT_TRIG_FALLING;
  //    stcExtIntInit.u32FilterB = NMI_EXTINT_FILTER_B_ON;
  //    stcExtIntInit.u32FilterBClock = NMI_EXTINT_FCLK_B_500NS;
  //    (void) EXTINT_Init(EXTINT_CH03, &stcExtIntInit);
  //    /* IRQ sign-in */
  //    stcIrqSignConfig.enIntSrc = INT_SRC_PORT_EIRQ3;
  //    stcIrqSignConfig.enIRQn = INT034_IRQn;
  //    stcIrqSignConfig.pfnCallback = &ETH_LinkIrqCallback;
  //    (void) INTC_IrqSignIn(&stcIrqSignConfig);
  //    NVIC_ClearPendingIRQ(stcIrqSignConfig.enIRQn);
  //    NVIC_SetPriority(stcIrqSignConfig.enIRQn, DDL_IRQ_PRIO_13);
  //    NVIC_EnableIRQ(stcIrqSignConfig.enIRQn);
  //  }
  /* 设置以太网中断 */

  /**
* 设置随机数生成器中断
*/
  {
    /* 随机数生成中断 IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_TRNG_END;
    stcIrq.enIRQn = INT122_IRQn;
    stcIrq.pfnCallback = &TRNG_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* 随机数生成中断 IRQ sign-in */
    /* 随机数生成中断 NVIC config */
    NVIC_ClearPendingIRQ(INT122_IRQn);
    NVIC_SetPriority(INT122_IRQn, DDL_IRQ_PRIO_14);
    NVIC_EnableIRQ(INT122_IRQn);
    /* 随机数生成中断 NVIC config */
  }
  /* 设置随机数生成器中断 */

  { /* 内部CPU温度读取中断 */
    stc_irq_signin_config_t stcIrq;

    stcIrq.enIntSrc = INT_SRC_OTS;
    stcIrq.enIRQn = INT121_IRQn;
    stcIrq.pfnCallback = &OTS_IrqCallback;

    /* Independent interrupt. */
    (void) INTC_IrqSignIn(&stcIrq);
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_15);
    NVIC_EnableIRQ(stcIrq.enIRQn);
  } /* 内部CPU温度读取中断 */

  /**
	* 设置时间定时器中断
	*/
  {
    /* 毫秒定时器累加中断 IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_TMR2_1_CMP_A;
    stcIrq.enIRQn = INT052_IRQn;
    stcIrq.pfnCallback = &INT_SRC_TMR2_1_CMP_A_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* 毫秒定时器累加中断 IRQ sign-in */
    /* 毫秒定时器累加中断 NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_06);
    NVIC_EnableIRQ(stcIrq.enIRQn);
    /* 毫秒定时器累加中断 NVIC config */
  }
  {
    /* 随机数及温度转换启动定时器中断 IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_TMR2_1_CMP_B;
    stcIrq.enIRQn = INT054_IRQn;
    stcIrq.pfnCallback = &INT_SRC_TMR2_1_CMP_B_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* 随机数及温度转换启动定时器中断 IRQ sign-in */
    /* 随机数及温度转换启动定时器中断 NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_14);
    NVIC_EnableIRQ(stcIrq.enIRQn);
    /* 随机数及温度转换启动定时器中断 NVIC config */
  }
  /* 设置时间定时器中断 */

  /**
	* 设置串口任务定时器
	*/
  {
    /* 设置串口接计数任务定时器中断 IRQ sign-in */
    stcIrq.enIntSrc = INT_SRC_TMR2_2_CMP_A;
    stcIrq.enIRQn = INT053_IRQn;
    stcIrq.pfnCallback = &INT_SRC_TMR2_2_CMP_A_IrqCallback;
    (void) INTC_IrqSignIn(&stcIrq);
    /* 设置串口接计数任务定时器中断 IRQ sign-in */
    /* 设置串口接计数任务定时器中断 NVIC config */
    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_12);
    NVIC_EnableIRQ(stcIrq.enIRQn);
    /* 设置串口接计数任务定时器中断 NVIC config */
  }
  /* 设置串口任务定时器 */
	
	/**
	* 设置RESET功能定时器
	*/
  {
//    /* 设置RESET功能定时器中断 IRQ sign-in */
//    stcIrq.enIntSrc = INT_SRC_TMR2_2_CMP_B;
//    stcIrq.enIRQn = INT055_IRQn;
//    stcIrq.pfnCallback = &INT_SRC_TMR2_2_CMP_B_IrqCallback;
//    (void) INTC_IrqSignIn(&stcIrq);
//    /* 设置RESET功能定时器中断 IRQ sign-in */
//    /* 设置RESET功能定时器中断 NVIC config */
//    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
//    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_05);
//    NVIC_EnableIRQ(stcIrq.enIRQn);
//    /* 设置RESET功能定时器中断 NVIC config */
  }
  /* 设置RESET功能定时器 */
	
	/* 设置定时器中断 */

  /* RESET中断模式 */
  {
    /* EXTINT_CH06 config */
//    stc_extint_init_t stcExtIntInit;
//    (void) EXTINT_StructInit(&stcExtIntInit);
//    stcExtIntInit.u32Filter = EXTINT_FILTER_ON;
//    stcExtIntInit.u32FilterClock = EXTINT_FCLK_DIV1;
//    stcExtIntInit.u32Edge = EXTINT_TRIG_BOTH;
//    stcExtIntInit.u32FilterB = NMI_EXTINT_FILTER_B_ON;
//    stcExtIntInit.u32FilterBClock = NMI_EXTINT_FCLK_B_500NS;
//    (void) EXTINT_Init(EXTINT_CH06, &stcExtIntInit);

//    /* RESET输入中断 IRQ sign-in */
//    stcIrq.enIntSrc = INT_SRC_PORT_EIRQ6;
//    stcIrq.enIRQn = INT033_IRQn;
//    stcIrq.pfnCallback = &INT_SRC_PORT_EIRQ6_IrqCallback;
//    (void) INTC_IrqSignIn(&stcIrq);
//    /* RESET输入中断 IRQ sign-in */
//    /* RESET输入中断 NVIC config */
//    NVIC_ClearPendingIRQ(stcIrq.enIRQn);
//    NVIC_SetPriority(stcIrq.enIRQn, DDL_IRQ_PRIO_05);
//    NVIC_EnableIRQ(stcIrq.enIRQn);
//    /* RESET输入中断1 NVIC config */
  }
  /* RESET中断模式 */

  /**
	* 设置共享中断组
	*/
  /* ShareIrq NVIC config */
  NVIC_ClearPendingIRQ(INT138_IRQn);
  NVIC_SetPriority(INT138_IRQn, DDL_IRQ_PRIO_04);
  NVIC_EnableIRQ(INT138_IRQn);

  /* ShareIrq NVIC config */
  NVIC_ClearPendingIRQ(INT139_IRQn);
  NVIC_SetPriority(INT139_IRQn, DDL_IRQ_PRIO_11);
  NVIC_EnableIRQ(INT139_IRQn);

  /* ShareIrq NVIC config */
  NVIC_ClearPendingIRQ(INT141_IRQn);
  NVIC_SetPriority(INT141_IRQn, DDL_IRQ_PRIO_04);
  NVIC_EnableIRQ(INT141_IRQn);

  /* ShareIrq NVIC config */
  NVIC_ClearPendingIRQ(INT137_IRQn);
  NVIC_SetPriority(INT137_IRQn, DDL_IRQ_PRIO_04);
  NVIC_EnableIRQ(INT137_IRQn);

  /* ShareIrq NVIC config */
  NVIC_ClearPendingIRQ(INT142_IRQn);
  NVIC_SetPriority(INT142_IRQn, DDL_IRQ_PRIO_04);
  NVIC_EnableIRQ(INT142_IRQn);
  /* 设置共享中断组 */

}// App_IntCfg
